home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
EnigmA Amiga Run 1997 February
/
EnigmA AMIGA RUN 15 (1997)(G.R. Edizioni)(IT)[!][issue 1997-02][PLANET CD V].iso
/
enigma
/
earcd
/
utility
/
utilfile
/
rw2ent15.lha
/
Raw2Ent.dok
< prev
next >
Wrap
Text File
|
1996-11-10
|
16KB
|
472 lines
Project: Raw2Ent
ARexx : Raw2Ent.rexx
Version: 1.4.1 (14.07.96)
Program: Raw2Ent
Version: 1.5 (10.11.96)
Author : Tamio Patrick Honma
Files : CWISENV
Raw2Ent
Raw2Ent.doc
Raw2Ent.rexx
Raw2Ent.rexx.old
INHALT:
0. VORWORT
1. EINFÜHRUNG
1.1. SYSTEMVORAUSSETZUNG
2. GEBRAUCH
2.1. Raw2Ent VER: 1.5 (10.11.96)
2.2. Raw2Ent.rexx VER: 1.4.1 (14.07.96)
2.3. CWISENV
2.4. ARGUMENT-PRIORITÄT
3. EINSCHRÄNKUNGEN
4. INSTALLATION
5. BEISPIELE
6. TSCHÜSS!
7. LETZTER KOMMENTAR
8. FEHLERMELDUNGEN
9. GESCHICHTE
0. VORWORT
Diese Anleitung wurde vom Englischen ins Deutsche übersetzt. Umständliche
Formulierungen sind bitte zu übersehen. Danke.
1. EINFÜHRUNG
Raw2Ent kovertiert 8-Bit-breiten ASCII-Text in 7-Bit-breiten ASCII-Text mit
"Entity-Codes" und umgekehrt. Das ASCII-Format ist ein standardisiertes
Format zum Informationsaustausch, aber es ist nur 7-Bit-breit definiert, was
bedeutet, daß 128 Kodierungen definiert sind. Ein Byte besteht aus acht
Bits und kann 256 verschiedene Bit-Kombinationen repräsentieren. Deswegen
können die letzten 128 Kodierungen von jedem OS frei definiert werden. Das
Problem ist, daß Akzent-Buchstaben und andere spezielle Zeichen nicht
standardisiert sind, weil sie (wo wohl?) im freien Bereich des
ASCII-Formates von den OS-Entwicklern definiert wurden.
Das Ziel der "World-Wide-Web"-Entwickler war, daß es auf jedem wichtigen
Betriebssystem ge-/benutzt werden kann. So war es klar, daß der auf
ASCII-basierte HTML-Quelltext Zeichen im standardisierten Sieben-Bit-Bereich
vom ASCII-Format enthalten muß. Um Akzent-Buchstaben oder spezielle Zeichen
im sieben-Bit-Code repräsentieren zu können, mußte etwas erfunden werden.
Und das war der "Entity-Code" - eine Art "Escape-Code". Ein "Entity-Code"
besteht aus einem einführenden "&" und einem ";" am Ende. Zwischen diesen
Symbolen befindet sich der Name des Zeichens, den der "Browser"
interpretieren kann. Es ist eine sehr schwierige und dumme Aufgabe den
ASCII-Text von Hand zu konvertieren. Also benutze einfach Raw2Ent!
Raw2Ent produziert echten "7-Bit-ASCII-Code". Alle druckbaren Amiga-Zeichen
im 8-Bit-Bereich werden in "Entity-Codes" umgewandelt, ohne eine einzige
Ausnahme. Der Gebrauch von Namen anstelle von Code-Nummern wird es Menschen
einfacher machen, die "Entity-Codes" zu lesen.
1.1. SYSTEMVORAUSSETZUNG
- AmigaOS 2.0 oder größer
- optional: ARexx
2. GEBRAUCH
Raw2Ent besteht aus drei Teilen: einem Assembler-Programm, einem
ARexx-Script und einer Batch-Datei.
Wenn Du einen Text bloß einmal konvertieren willst, brauchst Du das
Assembler-Programm. Falls Du einen Text mehr als einmal konvertieren
willst, weil Du an einem Projekt arbeitest, wie eine Web-Seite mit aktuellen
Informationen, ist das ARexx-Script vielleicht nützlich.
2.1. Raw2Ent VER: 1.5 (10.11.96)
Argumente:
FROM/A - Die Quelldatei (acht Bit breit)
TO/A - Die Zieldatei (mit "Entity-Codes")
[Pfad ohne Dateinamen ist nicht akzeptiert]
TAG/S - aktiviert den TAG-Modus
HTML/S - aktiviert den HTML-Mode
ENT/S - voreingestellter Modus
UML=NOENT/S - entfernt 8-Bit-Zeichen mit Zeichen und Worten
CODE/S - konvertiert alle "Entity-Codes" mit Code-Nummern
(ausgenommen den vier "Spezial-Entities")
TOTALCODE/S - konvertiert ALLE Zeichen mit Entity-Code-Nummern
SMART/S - aktiviert den SMART-Modus
INVERSE=ENT2RAW/S - kehrt die Funktion von Raw2Ent in Ent2Raw um
Modi:
>TAG-Modus<
wird die vier Zeichen: & < > " nicht konvertieren. Dies ist für ASCII-Text
brauchbar, der schon "Entity-Codes" oder "HTML-Tags" enthält, die eingeführt
und beendet sind mit "<" und ">" und welche Anführungszeichen enthalten
können. Das Zeichen "&" leitet gewöhnlich die "Entity-Codes" ein. Wenn Du
den TAG-Modus benutzt, wird die Quelldatei nicht ein zweites Mal auf eine
falsche Weise konvertiert, aber unberührte "Spezial-Zeichen" werden
konvertiert. Desshalb solltest Du diesen Modus verwenden, wannimmer Du
einen Text zum zweiten Mal umwandelst.
>HTML-Modus<
wird einfach die Quelldatei in die Zieldatei kopieren. Diese Funktion ist
implementiert, um das Program in Script-Dateien einsetzen zu können. (siehe
z.B. Raw2Ent.rexx)
>ENT-Modus<
ist der voreingestellte Modus und wandelt alle bekannten Zeichen in ihre
"Entity-Codes" um.
>NOENT-Modus< oder >UML-Modus<
ist ein Modus, welcher jedes 8-Bit-Zeichen durch Zeichen im 7-Bit-Bereich
ersetzt, ohne "Character-Entity-Codes" zu verwenden. Z.B.: "ü" wird in
"ue" übersetzt und "£" wird in "pound" übersetzt und "©" wird in "(C)"
übersetzt usw.. Es ist empfohlen dieses Argument in Verbindung mit dem
"TAG"-Argument zu gebrauchen. Optional kannst Du >UML< (wie: Umlaute)
benutzen, welches ein Synonym zu >NOENT< ist. [Dieser Modus wurde
inspiriert durch Andreas Bais]
>CODE-Modus<
wird alle "Entity-Codes" nicht mit "Entity-Namen" konvertieren, aber mit den
"Entity-Code-Zahlen". Dies mag brauchbar sein, wenn ein "Browser" nicht
alle "Entity-Namen" unterstützt, jedoch die Zahlen. Merke: Auf der einen
Seite sind die Code-Zahlen für Menschen schlecht zu lesen, doch auf der
anderen Seite ist die Zieldatei vielleicht kürzer. [Die kleinsten Dateien
werden wohl im "TAG NOENT"-Modus erzeugt.]
>TOTALCODE-Modus< oder >TOTCODE-Modus<
wird JEDES Zeichen mit seiner Code-Zahl umwandeln. Der einzigste Grund für
diesen Modus ist es den Menschen das Lesen der Textdatei schwer zu machen.
Dieser Text wird nur von einem "HTML-Browser" lesbar angezeigt. Dieser
Modus wird sicher die größte Zieldatei erzeugen!
>SMART-Modus<
ist eine Kombination aus dem >ENT<-Modus und dem >TAG<-Modus. HTML-Dateien
z.B. werden ohne Zerstörung von HTML-Tags und "Character-Entity-Codes"
konvertiert - wie im >TAG<-Modus. Der Unterschied ist, daß die Zeichen: <
> & " werden konvertiert, wenn Raw2Ent "denkt", daß diese Zeichen keine
Elemente von den "Character-Entity-Codes" oder HTML-Tags sind. Dies
funktioniert am Besten, wenn die HTML-Datei "guten" Code enthält. Ich kann
keine korrekte Interpreation von Raw2Ent garantieren, aber ich denke es
funktioniert in 95% von HTML-Dateien ohne Fehler.
>INVERSE-Mode< or >ENT2RAW-Mode<
konvertiert alle "Character-Entity-Codes" (Namen und Nummern) in das
Amiga-ASCII - dem Latin-1-Standard. So kannst Du Raw2Ent als ein Ent2Raw
benutzen. Wenn Du den >TAG<-Modus setzt, wird dieser Modus die Zeichen
nicht berühren: > < & und ".
Rückgabewerte:
$RC=0 (OK) -> alles in Ordnung!
$RC=5 (WARN) -> falscher Gebrauch
$RC=10 (ERROR) -> Fehler (Speicher)
$RC=20 (FAIL) -> Fehler (Ein-/Ausgabe)
2.2. Raw2Ent.rexx VER: 1.4.1 (14.07.96)
Argumente:
FROM/A - Die Quelldatei (acht Bit breit)
TO/A - Die Zieldatei (mit "Entity-Codes")
[Pfad ohne Dateinamen ist nicht akzeptiert]
TAG/S - aktiviert den TAG-Modus
HTML/S - aktiviert den HTML-Mode
ENT/S - voreingestellter Modus
Modi:
siehe Raw2Ent-Gebrauch (2.1.)
Raw2Ent.rexx behandelt:
- Zielpfad ohne Dateinamen
- Suffix-Handhabung (Zieldatei hat das Suffix ".ent")
- Fortschrittsanzeige
- Umgebungsvariablen für Automation ohne Fehler
2.3. CWISENV
Benutze CWISENV um die Umgebungsvariablen für eine spezifische Datei zu
setzen, wenn Du nicht die Raw2Ent.rexx-Argumente gebrauchen willst - z.B.
in Batch-Dateien.
Argumente:
FILENAME/A - ist der Dateinamen für die Eingabedatei für Raw2Ent. Merke:
Benutze keine Pfadnamen! Du mußt den "cd"-Befehl mit dem
Pfadnamen benutzen, wo deine Textdatei (Eingabe) gefunden
werden kann.
MODE/A - wählt den Modus aus. Du kannst wählen: ENT, TAG, HTML
Modi:
siehe Raw2Ent-Gebrauch (2.1.)
2.4. ARGUMENT-PRIORITÄT
höchste Priorität FROM/A - Muß benutzt werden!
^ TO/A - Muß benutzt werden!
|
| INVERSE/S - macht den Rest der Schalter unbrauchbar
| außer: "TAG"
| HTML/S - macht alle anderen Schalter unbrauchbar
| TOTALCODE/S - macht den Rest der Schalter unbrauchbar
| CODE/S - macht die Schalter unbrauchbar: "NOENT"
| und "ENT"
| NOENT/S - macht den Schalter unbrauchbar: "ENT"
| und "SMART"
| TAG/S - macht den Schalter unbrauchbar: "ENT"
| und "SMART"
v SMART/S - macht den Schalter unbrauchbar: "ENT"
niedrigste Priorität ENT/S - berührt keine anderen Schalter
3. EINSCHRÄNKUNGEN
- Ein Text kann nur in einem Stück konvertiert werden. Keine Markierung
möglich.
- Die Umgebungsvariablen besitzen keine Information zu Pfaden.
So z.B. haben alle "index.html"-Dateien die selbe Variable.
Die Variablen werden ignoriert, wenn Du selbst den "TAG"- oder "HTML"- oder
"ENT"-Schalter benutzt. Bitte merke, daß nur das ARexx-Script Variablen
unterstützt - NICHT das Assembler-Programm!
- Keine Konvertierungs-Fortschritts-Anzeige implementiert. Wenn Du das haben
willst, kannst Du das alte ARexx-Script Raw2Ent.rexx v1.3 benutzen.
- Das alte ARexx-Script [1.3] ist nicht kompatibel zum Assembler-Programm.
- Raw2Ent kann nicht mit "Break"-Signalen gestoppt werden.
- Raw2Ent unterstützt nur das Amiga-8-Bit-ASCII-Format [ISO-8859-1], doch das
ist in Ordnung, weil es viele Möglichkeiten gibt Texte vom PC, Mac, Unix
oder anderen Systemen zu konvertieren:
- Benutze das CrossDOS-Commodity. (Dies ist der beste Weg, weil jeder
AmigaOS 2.1+-Benutzer dieses Programm im "Tools/Commodities"-Verzeichnis
hat!)
- Es gibt viele Konverter im AmiNet oder anderen Freeware-Quellen. Z.B.:
- "CharConv" von Johan Billing [v1.6 von 1994]
- Wenn Du einen guten HTML zu TXT Konverter suchst, dann versuche dieses:
- "HTTX" von Gabriele Favrin [v1.0 von 1996]
4. INSTALLATION
4.1. Kopiere "Raw2Ent" und "Raw2Ent.rexx" in das selbe Verzeichnis.
4.2. Ändere den Pfadnamen im "Raw2Ent.rexx"-Script.
4.3. "makedir ENVARC:cwis/"
5. BEISPIELE
5.1. "Raw2Ent Text.html Text.ent TAG"
Konvertiert die Datei "Text.html" in die Datei "Text.ent" mit Hilfe von
"Entity-Codes" ohne HTML-Tags und schon konvertierte "Entity-Codes" zu
zerstören.
5.2. "Raw2Ent Text Text.ent" oder
"Raw2Ent Text Text.ent ENT"
Konvertiert die Datei "Text" in "Text.ent" ohne Rücksicht auf HTML-Tags oder
schon konvertierten "Entity-Codes".
5.3. "Raw2Ent Text.html Text.ent HTML"
Kopiert bloß die Datei "Text.html" in "Text.ent".
5.4. "Raw2Ent Text.html Text.ent TAG CODE"
Dasselbe wie das Beispiel 5.1., aber alle "Character-Entity-Codes" sind
durch "Code-Nummern" und keine "Code-Namen" repräsentiert.
5.5. "Raw2Ent Text Text.ent CODE"
Dasselbe wie Beispiel 5.2., aber alle "Character-Entity-Codes" sind mit
"Code-Nummern" repräsentiert, ausgenommen den vier Zeichen: < > " ?, welche
noch immer mit ihren "Character-Entity-Namen" repräsentiert werden.
5.6. "Raw2Ent Text Text.uml TAG NOENT" oder
"Raw2Ent Text Text.uml TAG UML"
Dies wird rohen Text in sieben-bit-breiten Text ohne "Character-
Entity-Codes" konvertiert. Raw2Ent wird den Text mit alternativen Zeichen
oder Worten oder Abkürzungen konvertieren. Die Zieldatei in diesem Beispiel
wird keinen einzigen "Character-Entity-Code" enthalten, weil das >TAG<-
Argument benutzt wird.
5.7. "Raw2Ent Text Text.code TOTALCODE"
Die Datei "Text.code" wird nur "Code-Nummer-Entities" enthalten, ohne
jegliche Ausnahme. Die Zieldatei wird sehr lang sein! Merke: Der TAG-Modus
wird ignoriert, wenn dieser Modus verwendet wird. Deshalb wirst Du nicht
fähig sein diesen Modus für HTML-Dateien zu gebrauchen, aber Du kannst diese
Datei nur mit einem HTML-Browser lesen.
5.8. "Raw2Ent Text.ent Text INVERSE" oder
"Raw2Ent Text.ent Text ENT2RAW"
Dies wird die Date "Text.ent" in die Amiga-ASCII-Datei "Text" umwandeln.
5.9. "Raw2Ent Text.ent Text TAG INVERSE" oder
"Raw2Ent Text.ent Text TAG ENT2RAW"
Dies ist dasselbe wie 5.8.. Der einzige Unterschied besteht darin, daß die
Codes: > < & und "e; nicht konvertiert werden.
6. TSCHÜSS!
----------------------------------------------------------------------------
DER AUTOR IST NICHT VERANTWORTLICH FÜR JEGLICHEN VERLUSST VON DATEN
ODER PANNEN!
BENUTZE DIESES FREEWARE-PROGRAMM MIT EIGENEM RISIKO.
----------------------------------------------------------------------------
Sende Kommentare an:
Tamio Patrick Honma
eMail: honma@thepentagon.com
WWW: http://www.netforward.com/thepentagon/?honma
P.S. Dieses Programm wurde für das CWIS-Script-System auf Amiga und PC
gemacht. Das CWIS der Heinrich-Heine-Universität Düsseldorf kann hier
gefunden werden:
http://www.phil-fak.uni-duesseldorf.de/cwis/
7. LETZTER KOMMENTAR:
Hey!? Was willst Du!? Ich bin nur ein Soziologie-, Pädagogik- und
Informationswissenschaftsstudent und kein Informatiker!
Sende mir einfach Deine Fehlermeldungen, ... ;)
---> Raw2Ent-Assembler-Program <---
8. FEHLERMELDUNGEN:
gemeldet von Fehler korrigierte Version
Joakim Andersson Entity-Codes Å und å fehlen 1.0.1 (04.09.96)
Tamio Honma Letztes Byte in der Zieldatei wurde gelöscht 1.1 (05.09.96)
Tamio Honma Version-String ohne Leerzeichen 1.1.1 (06.09.96)
Marcus Beranek Entity-Codes zu ÿ,ï,Ï,æ,Æ,ø,Ø,ë,Ë fehlen 1.1.3 (06.09.96)
Tamio Honma Fehler im Circumflex-Akzent 1.1.4 (08.09.96)
9. GESCHICHTE:
Version Funktion Datum
1.0 Ersterscheinung 13.07.06 (*)
1.1 Geschwindigkeit um die 20 (!!!) mal gesteigert 05.09.96
Version-String hinzugefügt
1.1.2 Optimierter Code (Geschwindigkeit gesteigert) 06.09.96
Return-Codes hinzugefügt (siehe Abschnitt 2.1 für
die Return-Codes)
1.1.3 HTML-Tags zu °,¹,²,³ hinzugefügt (improvisiert) 06.09.96
1.1.4 Alle Entity-Codes erhältlich im Amiga-Zeichensatz 08.09.96 (*)14
eingefügt! Entity-Codes beziehen sich auf den HTML 3.2
Standard
Alle erhältlichen Namen eingefügt
Codes ohne Namen repräsentiert durch Code-Nummern
improvisierte HTML-Tags entfernt
1.1.5 Wechselte nur die Code-Nummer mit Code-Namen "§" 14.10.96
1.1.6 wechselte alle Code-Nummern in Entity-Namen (komplett) 30.10.96
1.2 CODE-Modus hinzugefügt 01.11.96 (*)
1.3 NOENT-Modus und TOTALCODE-Modus hinzugefügt 03.11.96 (*)
Version-String wird im Gebrauchstext angezeigt
1.4 SMART-Modus hinzugefügt 06-07.11.96 (*)
1.5 INVERSE-Modus für Namen und Codes hinzugefügt (Ent2Raw)10.11.96 (*)
HELP-Text hinzugefügt
(*) = veröffentlicht im Aminet
Nummer repräsentiert die Nummer der Aminet-CD-ROM